//
// Created by de on 3/25/21.
//

#ifndef FORCEEIGENTEST_PLAFORMTEXCEPTION_H
#define FORCEEIGENTEST_PLAFORMTEXCEPTION_H

#include <sstream>
#include "exception"
#include "ostream"
/**
 *  Test diy Exception
 */

class PlaformTException :public std::exception  {
public:
    PlaformTException(int line, const char *  file, const std::string  &msg){
        std::ostringstream osf;
        osf<<"PlaformTException  "<<"Line "<< line<<" File: "<<file << " " <<msg;
        ExceptionMsg = osf.str();

    }

    virtual const char *what()   {
        return ExceptionMsg.c_str();
    }

private:
    std::string ExceptionMsg;

};


#endif //FORCEEIGENTEST_PLAFORMTEXCEPTION_H
